Django Restful Framework(DRF)的开发思考(3)
认证&权限,限流,过滤&排序 , 分页 ,异常
1)认证&权限
2)限流
控制用户访问API接口的频率。
针对匿名用户和认证用户分别进行限流。
1 | # 限流(针对匿名用户和认证用户分别进行限流控制) |
针对匿名用户和认证用户统一进行限流。
1 | # 限流(针对匿名用户和认证用户进行统一限流控制) |
3)过滤&排序
4)分页
两种分页方式PageNumberPagination和LimitOffsetPagination。
使用PageNumberPagination分页时,获取分页数据时可以通过page传递页码参数。如果想要分页时指定页容量,需要自定义分页类。
1 | class StandardResultPagination(PageNumberPagination): |
使用LimitOffsetPagination分页时,获取分页数据时可以传递参数offset(偏移量)和limit(限制条数)。
注:如果使用的全局分页设置,某个列表视图如果不需要分页,直接在视图类中设置pagination_class = None
。
5)异常
DRF自带异常处理功能,可以对某些特定的异常进行处理并返回给客户端组织好的错误信息。能够处理的异常如下:
1 | APIException 所有异常的父类 |
可以自定义DRF框架的异常处理函数(补充一些异常处理)并指定EXCEPTION_HANDLER
配置项。
最后更新: 2019年03月14日 21:24
原始链接: https://zem12345678.github.io/2019/03/14/Django Restful Framework(DRF)的开发思考(3)/